package day2;

import java.io.File;
import java.util.Scanner;

public class Homework {
    public static void main(String[] args) {
        demo3();
    }
    public static void demo1(){
        File f=new File("d://a//HelloWorld.txt");
        if(f.isDirectory()){
            System.out.println("是目录");
        }else{
            System.out.println("是文件");
        }
        //renameTo
        File f2=new File("d://a//IoTest//移动后的名字.txt");
        //getParentFile()
        f2.getParentFile().mkdirs();
        if(f.renameTo(f2)){
            System.out.println("移动成功");
        }else{
            System.out.println("移动失败");
        }
        String[] names=f2.getParentFile().list();
        for(String name:names){
            System.out.println(name);
        }
    }
    public static void demo2(){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入地址");
        String path=sc.next();//nextLine()也可以 地址有可能空格
        File f=new File(path);
        String[] names=f.list((d,n)-> n.endsWith(".java"));
        for(String name:names){
            System.out.println(name);
        }
    }
    //a.递归实现输入任意目录，列出文件以及文件夹(包括子目录)
    public static void demo3(){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个路径");
        File f=null;
        while(true) {
            String path = sc.next();
            f=new File(path);
            if(f.exists()) break;
            else if(f.isFile()) System.out.println("请输入目录地址");
            else System.out.println("路径不存在");
        }
        print(f);
    }
    public static void print(File f){
        File[] fs=f.listFiles();
        //文件  空目录  非空目录(递归)
        if(fs!=null){
            for(File file:fs){
                System.out.println(file.getAbsolutePath());
                print(file);
            }
        }else{
            System.out.println(f.getAbsolutePath());
        }
    }
}
